home *** CD-ROM | disk | FTP | other *** search
- #ifndef _ADPCM_H_
- #define _ADPCM_H_
-
- class Adpcm {
-
- // Destination format - note we always decompress to 16 bit
- long stereo;
- int nBits; // number of bits in each sample
-
- long valpred[2]; // Current state
- int index[2];
-
- long nSamples; // number of samples decompressed so far
-
- // Parsing Info
- unsigned char *src;
- long bitBuf; // this should always contain at least 24 bits of data
- int bitPos;
-
- void FillBuffer();
-
- long GetBits(int n);
-
- long GetSBits(int n);
-
- public:
- Adpcm(unsigned char *buffer, long isStereo);
-
- void Decompress(short * dst, long n); // return number of good samples
- #ifdef DUMP
- void dump(BitStream *bs);
- void Compress(short *pcm, long n, int bits);
- #endif
- };
-
- #endif /* _ADPCM_H_ */
-